/**
 * 验证类方法
 * */

import * as validator from "validator";

export class Validate {

  // validator验证器
  static validator = validator;

  /**
   * @title 验证tinyint字段
   * @param {number} status 传入的状态
   * @param {Array<number>>} ok 接受的状态
   * @return {boolean} 是否满足条件
   * */
  static isTinyint(status: number, ok = [1, 2]) {
    return ok.includes(status);
  }

  /**
   * @title 校验手机号
   * @param {string} mobile - 手机号
   * @param {boolean} require - 是否必填
   * @return {boolean} 是否符合手机号格式
   * */
  static isMobile(mobile: string, require?: boolean) {
    const reg = /^1[3-9]\d{9}$/g;
    if (require || !!mobile) return reg.test(mobile);
    return true;
  }

  /**
   * @title 校验邮箱
   * @param {string} email - 邮箱
   * @return {boolean} 是否符合邮箱格式
   * */
  static isEmail(email: string) {
    const reg = /.+@.+\..+$/g;
    return reg.test(email);
  }
}
